package com.back.security.annotation;

import java.lang.annotation.*;

/**
 * 自定义角色权限注解
 * 用于方法级别的权限控制
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequireRole {
    /**
     * 允许访问的角色列表
     * 如果不指定，默认为空数组，表示不需要任何特定角色
     */
    String[] value() default {};
    
    /**
     * 是否需要同时拥有所有指定的角色
     * true: 需要同时拥有所有指定的角色（AND关系）
     * false: 只需要拥有其中一个角色即可（OR关系）
     */
    boolean allRolesRequired() default false;
} 